<<<<<<< HEAD
var express = require('express');
var router = express.Router();
var sql = require('./../sql');
var Pro = require('./../sql/col/pros');
router.get('/', function(req, res, next) {
  res.send('分类相关接口');
});
/**
 * @api {get} api/category/getCategory 获取分类
 * @apiDescription 获取分类
 * @apiGroup category
 * @apiSuccessExample { json } Success-Response:
 * res.send({
      code: '200',
      message: '获取分类',
      data
    });
 * @apiSampleRequest /api/category/getCategory
 * @apiVersion 1.0.0
 */
router.get('/getCategory', function(req, res, next) {
  // 1.查询产品的数据库，检索出所有的产品的分类，然后去重（---只适用于现在的项目---真实项目中可能有专门的分类数据库）
  sql.distinct(Pro, 'type').then(data => {
    res.send({
      code: '200',
      message: '获取分类',
      data
    });
  })
});

/**
 * @api {get} api/category/getCategoryBrand 获取分类下的品牌
 * @apiDescription 获取分类下的品牌
 * @apiGroup category
 * @apiParam { string } type 分类
 * @apiSuccessExample { json } Success-Response:
 * res.send({
      code: '200',
      message: '获取分类下的品牌数据',
      data
    });
 * @apiSampleRequest /api/category/getCategoryBrand
 * @apiVersion 1.0.0
 */
router.get('/getCategoryBrand', function(req, res, next) {
  // 1.接收分类的数据，依据分类查询数据，确定显示的字段
  const { type } = req.query
  // 2.查询分类类型为type的数据，只显示brand和brandimg
  sql.find(Pro,{ type }, { _id: 0, brand: 1,brandimg: 1}).then(data => {
    // 3.对象数组去重
    var obj = {};
    data = data.reduce(function(item, next) {
      obj[next.brand] ? '' : obj[next.brand] = true && item.push(next);
      return item;
    }, []);
    res.send({
      code: '200',
      message: '获取分类下的品牌数据',
      data
    })
  })
});

/**
 * @api {get} api/category/getCategoryBrandList 获取当前分类下当前品牌的产品数据
 * @apiDescription 获取分类下当前品牌的产品数据
 * @apiGroup category
 * @apiParam { string } type 分类
 * @apiParam { string } brand 品牌
 * @apiSuccessExample { json } Success-Response:
 * res.send({
      code: '200',
      message: '获取分类下当前品牌的产品数据',
      data
    });
 * @apiSampleRequest /api/category/getCategoryBrandList
 * @apiVersion 1.0.0
 */
router.get('/getCategoryBrandList', function(req, res, next) {
  // 1.接收分类以及品牌
  const { type, brand } = req.query
  // 2.查询数据
  sql.find(Pro,{ type, brand }, { _id: 0}).then(data => {
    res.send({
      code: '200',
      message: '获取当前分类下当前品牌的产品数据',
      data
    })
  })
});
module.exports = router;
=======
var express = require('express')
var router = express.Router()
var sql = require('./../sql')
var Pro = require('./../sql/col/pros') 

/**获取商品的大类 如手机，衣服，宝宝
 *  @api {get} api/category/getCategory  获取分类
 *  @apiDescription 获取分类
 *  @apiGroup category
 *  @apiSuccessExample { json } success-response:
 * res.send ({
 * code:'200',
 * message:'获取分类',
 * data
 * }) 
 * @apiSampleRequest /api/category/getCategory
 * @apiVersion 1.0.0
 */

router.get('/getCategory', function(req, res, next) {
  // 1.查询产品的数据库，检索出所有的产品分类，然后去重复（---只适用于我们现在的项目----真实项目中可能有专门的分类数据库）
  sql.distinct(Pro, 'type').then(data => {
      res.send({
          code: '200',
          message: '获取分类',
          data
      })
  })
})

/**获取分类下的品牌
 *  @api {get} api/category/getCategoryBrand  获取分类下的品牌
 *  @apiDescription 获取分类下的品牌
 *  @apiGroup category
 *  @apiParam {number} type 分类
 *  @apiSuccessExample { json } success-response:
 * res.send ({
 * code:'200',
 * message:'获取分类下的品牌',
 * data
 * }) 
 * @apiSampleRequest /api/category/getCategoryBrand
 * @apiVersion 1.0.0
 */
router.get('/getCategoryBrand',function(req, res, next) {
  // 1.接受分类的数据，依据分类查询数据，确定显示的字段
  const { type } = req.query
  // 2. 查询分类类型为type，只显示品牌，图片
  sql.find(Pro, { type }, { _id: 0, brand: 1, brandimg: 1 }).then( data => {
      // 3.对象数组去重
      var obj = {}
      data = data.reduce(function (item,next) {
          obj[next.brand] ? '' : obj[next.brand] = true && item.push(next)
          return item
      }, [])
      res.send({
          code: '200',
          message: '获取分类下的品牌数据',
          data
      })
  })
})

/**获取分类下品牌的产品数据
 *  @api {get} api/category/getCategoryBrandlist  获取分类下品牌的产品数据
 *  @apiDescription 获取分类下的品牌
 *  @apiGroup category
 *  @apiParam {string} type 分类
 *  @apiParam {string} brand 品牌
 *  @apiSuccessExample { json } success-response:
 * res.send ({
 * code:'200',
 * message:'获取分类下品牌的产品数据',
 * data
 * }) 
 * @apiSampleRequest /api/category/getCategoryBrandlist
 * @apiVersion 1.0.0
 */
router.get('/getCategoryBrandlist',function(req, res, next) {
  // 1.接受分类，品牌的数据，依据分类查询数据，确定显示的字段
  const { type, brand } = req.query
  // 2. 查询分类类型为type，只显示品牌，图片
  sql.find(Pro, { type, brand }, { _id: 0 }).then( data => {
      res.send({
          code: '200',
          message: '获取分类下当前品牌的产品数据',
          data
      })
  })
})
module.exports = router;
>>>>>>> 466a1d600ce65f8e3bdcad18a08a41e8b81613e5
